package com.mic.yzzn.plc.core.ins.toolUtils;

import java.util.ArrayList;

/**
 * 环形队列
 * @param <E> 模板类
 */
public class PLCCCircleQueue<E>
{
	/** 内部维护的数组 */
	private ArrayList<E> queue = new ArrayList<E>();
	/** 栅栏 */
	private int index = 0;
	
	// 初始化方法
	@SuppressWarnings("unused")
	private PLCCCircleQueue()
	{
		
	}
	
	public PLCCCircleQueue(ArrayList<E> arrayList)
	{
		queue = arrayList;
	}
	
	public void clear()
	{
		queue.clear();
	}
	
	public E getNext()
	{
		return queue.get(index++ % queue.size());
	}
	
	public boolean isEmpty()
	{
		return queue.isEmpty();
	}
	
	public int size()
	{
		return queue.size();
	}
}
